package com.golden.procedure.service;

import com.golden.procedure.domain.WorkAttachmentDO;
import com.golden.procedure.domain.WorkPhotoProductDO;
import com.golden.procedure.query.WorkAttachmentQueryDO;
import com.golden.procedure.result.ResultDO;

/**
 * 拍摄照片信息管理 <b>Description:</b><br>
 * 
 * @author Reading.Reagan</a>
 * @version 1.0
 * @Note <b>ProjectName:</b> procedure-api <br>
 *       <b>PackageName:</b> com.golden.procedure.service <br>
 *       <b>ClassName:</b> IWorkOrderService <br>
 *       <b>Date:</b> 2018年9月25日 下午2:39:22
 */
public interface IWorkAttachmentService {

	/**
	 * 查询照片列表 <b>Description:</b><br>
	 * 
	 * @param queryDO
	 * @return ResultDO
	 * @Note <b>Author:</b> Reading.Reagan <br>
	 *       <b>Date:</b> 2018年9月19日 下午4:10:05 <br>
	 *       <b>Version:</b> 1.0
	 */
	public ResultDO query(WorkAttachmentQueryDO queryDO);

	/**
	 * 添加照片 <b>Description: </b><br>
	 * 
	 * @param domain
	 * @return ResultDO
	 * @Note <b>Author:</b> Reading.Reagan <br>
	 *       <b>Date:</b> 2018年9月20日 下午3:43:42 <br>
	 *       <b>Version:</b> 1.0
	 */
	public ResultDO test(WorkAttachmentDO domain);
	public ResultDO add(Integer workPhotographyID, Integer source, Integer fileID, String url, String businessNo);

	/**
	 * 编辑照片 <b>Description:</b><br>
	 * 
	 * @param domain
	 * @return ResultDO
	 * @Note <b>Author:</b> Reading.Reagan <br>
	 *       <b>Date:</b> 2018年9月25日 下午2:39:40 <br>
	 *       <b>Version:</b> 1.0
	 */
	public ResultDO edit(WorkAttachmentDO domain);

	/**
	 * 查询单个照片 <b>Description: 通过id查询 </b><br>
	 * 
	 * @param domain
	 * @return ResultDO
	 * @Note <b>Author:</b> Reading.Reagan <br>
	 *       <b>Date:</b> 2018年9月20日 下午3:43:42 <br>
	 *       <b>Version:</b> 1.0
	 */
	public ResultDO get(Integer id);

	/**
	 * 查询订单某拍摄场次的拍摄照片数量 <b>Description:通过工单id和拍摄记录id查询某一次拍摄的照片数量（片源为：源片）</b><br>
	 * 
	 * @param workPhotographyID
	 *            拍摄记录ID
	 * @return Integer 拍摄数量（-1 错误）
	 * @Note <b>Author:</b> Reading.Reagan <br>
	 *       <b>Date:</b> 2018年10月8日 下午4:10:43 <br>
	 *       <b>Version:</b> 1.0
	 */
	public Integer countShotNum(Integer workPhotographyID);

	/**
	 * 查询本次选片的照片数量 <b>Description:源片,不包含自备片</b><br>
	 * <b>Description:</b><br>
	 * 
	 * @param workPhotographyID 拍摄记录id
	 * @return Integer
	 * @Note <b>Author:</b> Reading.Reagan <br>
	 *       <b>Date:</b> 2018年10月11日 下午12:01:17 <br>
	 *       <b>Version:</b> 1.0
	 */
	public Integer countPickNum(Integer workPhotographyID);

	/**
	 * 删除照片 <b>Description:</b><br>
	 * 
	 * @param id
	 * @return ResultDO
	 * @Note <b>Author:</b> Reading.Reagan <br>
	 *       <b>Date:</b> 2018年10月8日 下午4:10:43 <br>
	 *       <b>Version:</b> 1.0
	 */
	public ResultDO delete(WorkAttachmentDO domain);
	
	/**
	 * 删除所有照片 <b>Description:</b><br>
	 * 
	 * @param id
	 * @return ResultDO
	 * @Note <b>Author:</b> Reading.Reagan <br>
	 *       <b>Date:</b> 2018年10月8日 下午4:10:43 <br>
	 *       <b>Version:</b> 1.0
	 */
	public ResultDO deleteAll(WorkAttachmentDO domain);

	/**
	 * 勾选/取消的照片 <b>Description:</b><br>
	 * 
	 * @param id
	 * @return ResultDO
	 * @Note <b>Author:</b> Reading.Reagan <br>
	 *       <b>Date:</b> 2018年10月8日 下午4:10:43 <br>
	 *       <b>Version:</b> 1.0
	 */
	public ResultDO setStatus(WorkAttachmentDO domain);

	/**
	 * 统计照片数据 <b>Description:统计入底、入册、未选、删除的照片数量（全屏选片页面数据统计）</b><br>
	 * 
	 * @param id
	 * @return ResultDO
	 * @Note <b>Author:</b> Reading.Reagan <br>
	 *       <b>Date:</b> 2018年10月8日 下午4:10:43 <br>
	 *       <b>Version:</b> 1.0
	 */
	public ResultDO account(WorkPhotoProductDO domain);

}
